package com.hjj.app;

import java.io.File;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

/**
 * 1、文件
 * 1.1、文件的属性，使用File对象表达
 * 1.2、文件的操作【文件创建、文件删除、文件是否存在】使用File对象表达
 * 1.3、文件的内容(Stream流)，使用IO流表达
 * 1.4、文件内容的操作(追加Stream流，覆盖Stream流)，使用IO流表达
 *
 * 2、文件的属性(文件属性)
 *
 * F:\IO
 */
public class MyApp {
    public static void main(String[] args) {
        // 创建一个文件对象
        String path = "F:\\IO\\a.txt";
        File file = new File(path);

        // 是否为文件夹
        System.out.println(file.isDirectory());

        // 是否是文件
        System.out.println(file.isFile());

        // 文件有多长
        System.out.println(file.length());

        // 文件所在磁盘的总共空间
        System.out.println(file.getTotalSpace());

        //获取文件最后一次被修改的时间
        System.out.println(file.lastModified());

        // 将long类型的毫秒时间转换为机器时间
        Instant instant = Instant.ofEpochMilli(file.lastModified());

        // 将机器时间转换为时区时间
        ZonedDateTime zonedDateTime = instant.atZone(ZoneId.systemDefault());

        // 将时区时间格式化为能看的懂的字符串
        String format = zonedDateTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

        System.out.println(format);
    }
}
